#ifndef OI_H
#define OI_H

#include "WPILib.h"

class OI {
private:
	DriverStationEnhancedIO& cypressIO;
	Joystick *leftStick, *rightStick, *armStick;
	Button *lowSpeedBtn, *highSpeedBtn;
	Button *forwardBtn, *reverseBtn;	
	DigitalIOButton *precissionDrivingBtn, *shootTheBallsBtn, *ballPickupOnOffBnt;
	
	const static double maximumVoltage = 3.30;
	bool isShooting, isPicking;
	
	void assignCommands();

public:
	OI();
	bool isPickingBalls();
	bool isShootingBalls();
	float getLeftSpeed();
	float getRightSpeed();
	float getRampArmSpeed();
	float getCameraYAxis();
	void setPrecissionDrivingStatus(bool b);
	void setBallFeederStatus(bool b);
	void setBallOneStatus(bool b);
	void setBallTwoStatus(bool b);
	void setBallThreeStatus(bool b);
	float getUpperFlyWheelSpeed();
	float getUpperFlyWheelSpeedRaw();
	float getLowerFlyWheelSpeed();
	float getLowerFlyWheelSpeedRaw();
	void setShootingStatus(bool b);
};

#endif
